﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.EnlaceDatos.SqlServer;
using vudu.Logica.Clases;
using vudu.Logica.Excepciones;

namespace vudu.PaginasWeb.G8Escuela
{
    public partial class ModificarEscuela : System.Web.UI.Page
    {
        protected void Page_Load (object sender, EventArgs e)
        {
            // contiene los titulos de tabla
            TituloTablaInformacionEscuela();
            // imprime la lista de las escuelas con parte de su informacion
            CargarTablaEscuelas();

            //Al integrar, por favor descomentar lo siguiente
            string miRol = (string)Session["rol"];
            if (miRol != "Universidad")
                Response.Redirect("../G3AccesoSistema/InicioSistema.aspx");
        }

        #region titulo de la tabla
        public void TituloTablaInformacionEscuela()
        {
            // Creamos un nuevo registro para la tabla
            TableRow registroTabla = new TableRow();
            ConsultarEscuelas.Rows.Add(registroTabla);
            // Creamos una celda para esta tabla.
            TableCell celdaTabla = new TableCell();
            celdaTabla.Width = 200;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
            System.Web.UI.WebControls.Label labelCabecera = new Label();
            labelCabecera.Text = "Escuela";
            celdaTabla.Controls.Add(labelCabecera);


            //Repetimos el procedimiento hasta llenar nuestra tabla.
            celdaTabla = new TableCell();
            celdaTabla.Width = 100;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            labelCabecera = new Label();
            labelCabecera.Text = "Director";
            celdaTabla.Controls.Add(labelCabecera);

            celdaTabla = new TableCell();
            celdaTabla.Width = 200;
            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
            registroTabla.Cells.Add(celdaTabla);
            labelCabecera = new Label();
            labelCabecera.Text = "Opcion";
            celdaTabla.Controls.Add(labelCabecera);

        }
        #endregion Fin titulo

        #region Inicio CargaTablaEscuelas
        public void CargarTablaEscuelas()
            {
                Escuela escuela=new Escuela();
                string _nombre;
                //Borrar cuando se integre
                //_nombre= "Universidad Catolica Andres Bello";

                //Cuando se integre descomentar por favor

                Universidad _universidad = (Universidad) Session["usuario"];
                _nombre = _universidad.Nombre;

                Usuario.Text = _nombre;

                //Preguntamos si hay escuelas activas en la univerisidad
                if (escuela.ConsultarListaEscuela(_nombre).Count != 0)
                {
                    try
                    {
                        foreach (Escuela escuelita in escuela.ConsultarListaEscuela(_nombre))
                        {
                            // Creamos un nuevo registro para la tabla
                            TableRow registroTabla = new TableRow();
                            ConsultarEscuelas.Rows.Add(registroTabla);

                            // Creamos una celda para esta tabla.
                            TableCell celdaTabla = new TableCell();
                            registroTabla.Cells.Add(celdaTabla);
                            // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
                            System.Web.UI.WebControls.Label labelRegistro = new Label();
                            labelRegistro.Text = escuelita.NombreEscuela;
                            celdaTabla.Controls.Add(labelRegistro);

                            celdaTabla = new TableCell();
                            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
                            registroTabla.Cells.Add(celdaTabla);
                            // Creamos un WebControl de tipo "LABEL" y se lo aderimos a la celda.
                            labelRegistro = new Label();
                            labelRegistro.Text = escuelita.DirectorEscuela;
                            celdaTabla.Controls.Add(labelRegistro);

                            celdaTabla = new TableCell();
                            celdaTabla.HorizontalAlign = HorizontalAlign.Center;
                            registroTabla.Cells.Add(celdaTabla);
                            System.Web.UI.WebControls.HyperLink buttonModificarEscuela = new HyperLink();
                            buttonModificarEscuela.Text = "Modificar Escuela";
                            buttonModificarEscuela.CssClass = "miga";
                            buttonModificarEscuela.NavigateUrl = "ModificarUnaEscuela.aspx?cod=" + escuelita.IdEscuela;

                            celdaTabla.Controls.Add(buttonModificarEscuela);

                            // creamos un registro vacio para que la lista de las escuelas no esten muy pegadas entre si
                            TableRow registroTabla2 = new TableRow();
                            ConsultarEscuelas.Rows.Add(registroTabla2);

                            TableCell celdaTabla22 = new TableCell();
                            registroTabla2.Cells.Add(celdaTabla22);


                        }
                    }
                    catch (ConexionExeption)
                    {
                        MensajeError.Text = "Operacion Fallida : No se pudo establecer conexion con la Base de Datos";
                        MensajeError.CssClass = "transaccionFallida";
                        MensajeError.Visible = true;
                    }
                    catch (TransaccionFallidaExeption)
                    {
                        MensajeError.Text = "Operacion Fallida : No se pudo realizar la transaccion";
                        MensajeError.CssClass = "transaccionFallida";
                        MensajeError.Visible = true;
                    }
                    catch (Exception)
                    {
                        MensajeError.Text = "Operacion Fallida : Ocurrio un error inesperado";
                        MensajeError.CssClass = "transaccionFallida";
                        MensajeError.Visible = true;
                    }
                }
                //Sino hay escuelas activas mostramos mensaje de error
                else
                {
                    MensajeError.Text = "Actualmente no hay escuelas activas en la " + _nombre;
                    MensajeError.CssClass = "transaccionFallida";
                    MensajeError.Visible = true;
                }

            }
        }
        #endregion fin CargaTablaEscuelas

}